1 Synchronous Languages for Hardware and Software Reactive Systems
نویسنده
چکیده
Synchronous languages are dedicated to hardware, software, or mixed reactive systems that maintain a continuous interaction with their environment. They come in two classes: data-oriented languages such as Lustre and Signal, .which are targeted to data-intensive applications such as continuous control or signal processing, and control-oriented languages or visual formalisms such as Esterel, Statecharts, or Argos, which are tailored for discrete controllers. Data-oriented languages are equational and involve combinational or delayed operations over multiply-clocked signals. Control-oriented languages have explicit primitives for sequencing, concurrency, and process preemption. The synchronous languages are defined by precise mathematical semantics based on a simple zero-delay model, unlike most HDLs that are based on more intricate simulation models. The semantics makes it precise what a program means, how it can be compiled, and how to verify its properties. We analyze the synchronous programming primitives and we present the semantical framework. We show how to synthesize RTL-level circuits from synchronous programs and how to use circuit synthesis and optimization techniques to produce efficient software codes as well. We present verification techniques and algorithms for synchronous programs. We discuss combinational cycles in synchronous programs, and we exactly characterize those that have a synchronous behavior. Finally, we present some industrial applications of synchronous languages. More detailed information can be obtained from the Esterel web page at http://www.inria.fr/meije/esterel or by sending an email message to .
منابع مشابه
A Synchronous Approach to Reactive System Design
Reactive systems are systems that maintain permanent interactions with their environment. In this paper, we present our experience teaching discrete-event reactive systems to Electrical Engineering students. The course ranges from logic circuits to software components, and covers models, analysis, design of various systems (from logical systems to embedded systems). Since our students are not e...
متن کاملSynchronous/Reactive Programming of Concurrent System Software
Synchronous languages are intended for programming reactive systems. Reactive systems, which include real-time systems and key operating system components, interact continually with their environment. This paper considers the applicability of imperative synchronous/reactive languages to the development of general system software, that is, to the implementation of operating system kernels, file ...
متن کاملRefinement and Modular Verification with Observers
The formal verification of properties in reactive RealTime system is crucial, as these systems are often safetycritical ones. Refinements is a relevant operation in synchronous languages. In this paper we argue that, in the synchronous approach to the design and implementation of reactive Real-Time system, the modular verification from the point of view of the refining program is best achieved ...
متن کاملMulticlock Esterel: A Reactive Framework for Asynchronous Design
Synchronous circuit design is supported by a wide range of design automation tools both at academic and industrial scales. Correctness of synchronous circuits is very much dependent on the accuracy of the distribution of clocks. Hence, analysis and characterization of the clocks has been one of the priority areas of research in synchronous circuit design. With increases in clock frequency the d...
متن کاملViPER – A Component-Based Approach for Designing Real-Time Systems
In this paper, we present a component-based approach for the development of distributed safetycritical real-time systems. The ViPER method is based on the synchronous approach for designing reactive systems and a time-triggered communication architecture. Synchronous software components consisting of a reactive and a transformational part are used to specify the behavior of the system. The reac...
متن کامل